UCF STIG Viewer Logo
Changes are coming to https://stigviewer.com. Take our survey to help us understand your usage and how we can better serve you in the future.
Take Survey

PostgreSQL must record time stamps in audit records and application data that can be mapped to Coordinated Universal Time (UTC), formerly Greenwich Mean Time (GMT).


Overview

Finding ID Version Rule ID IA Controls Severity
V-261921 CD16-00-007500 SV-261921r1000994_rule Medium
Description
If time stamps are not consistently applied and there is no common time reference, it is difficult to perform forensic analysis. Time stamps generated by PostgreSQL must include date and time. Time is commonly expressed in UTC, a modern continuation of GMT, or local time with an offset from UTC. Some DBMS products offer a data type called TIMESTAMP that is not a representation of date and time. Rather, it is a database state counter and does not correspond to calendar and clock time. This requirement does not refer to that meaning of TIMESTAMP.
STIG Date
Crunchy Data Postgres 16 Security Technical Implementation Guide 2024-06-17

Details

Check Text ( C-65775r1000766_chk )
When a PostgreSQL cluster is initialized using initdb, the PostgreSQL cluster will be configured to use the same time zone as the target server.

As the database administrator (shown here as "postgres"), check the current log_timezone setting by running the following SQL:

$ sudo su - postgres
$ psql -c "SHOW log_timezone"

log_timezone
--------------
UTC
(1 row)

If log_timezone is not set to the desired time zone, this is a finding.
Fix Text (F-65683r1000767_fix)
Note: The following instructions use the PGDATA and PGVER environment variables. Refer to APPENDIX-F for instructions on configuring PGDATA and APPENDIX-H for PGVER.

To change log_timezone in postgresql.conf to use a different time zone for logs, as the database administrator (shown here as "postgres"), run the following:

$ sudo su - postgres
$ vi ${PGDATA?}/postgresql.conf
log_timezone='UTC'

Restart the database:

$ sudo systemctl reload postgresql-${PGVER?}